package com.letoken.platform.admin.service;

import com.letoken.platform.pub.req.PageData;
import com.letoken.platform.repo.admin.req.user.AddAdminAccountReq;
import com.letoken.platform.repo.admin.req.user.AdminUserReq;
import com.letoken.platform.repo.admin.req.user.QueryAdminAccountReq;
import com.letoken.platform.repo.admin.req.user.UpdateAdminAccountReq;
import com.letoken.platform.repo.admin.res.user.AdminUserRes;
import com.letoken.platform.repo.admin.res.user.QueryAdminAccountByIdRes;
import com.letoken.platform.repo.admin.res.user.QueryAdminAccountRes;
import com.letoken.platform.repo.admin.res.user.QueryRoleTypeRes;

import java.util.List;

/**
 * @author letokenlabs
 * @date 2022/11/23$
 */
public interface AdminUserService {
    AdminUserRes login(AdminUserReq req, String ip);

    void addAccountManagement(AddAdminAccountReq req);

    PageData<QueryAdminAccountRes> queryAdminAccount(QueryAdminAccountReq req);

    void UpdateAccountManagement(UpdateAdminAccountReq req);

    void deleteAccountManagement(Integer adminUserId);

    void EnableAccountManagement(Integer adminUserId);

    void disableAccountManagement(Integer adminUserId);

    QueryAdminAccountByIdRes queryAdminAccountById(Integer adminUserId);
}
